package com.woniuxy.yoga.course.service.service;

import com.woniuxy.yoga.commons.core.model.PageInfo;
import com.woniuxy.yoga.course.dao.model.AloneCourse;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.yoga.course.model.dto.alone.AloneCourseDTO;
import com.woniuxy.yoga.course.model.param.alone.AddAloneCourseParam;
import com.woniuxy.yoga.course.model.param.alone.AmountAloneCourseDurationParam;
import com.woniuxy.yoga.course.model.param.alone.CoachQueryAloneCourseParam;
import com.woniuxy.yoga.course.model.param.alone.QueryAllAloneCourseParam;

import java.util.List;

/**
 * <p>
 * 私教课程表 服务类
 * </p>
 *
 * @author 韦用文,刘存益,郎腾霄
 * @since 2023年11月28日
 */
public interface AloneCourseService extends IService<AloneCourse> {

    /**
     * 教练ID查询私教课程
     * @param ids
     * @return
     */
    List<AloneCourseDTO> getByCoachId(List<Integer> ids);

    /**
     * 统计该时间段私教课程已完成的总时长
     * @param param
     * @return
     */
    Integer amountAloneCourseDuration(AmountAloneCourseDurationParam param);

    /**
     * 新增私教课程
     * @param param
     */
    void addAloneCourse(AddAloneCourseParam param);

    /**
     * 修改成已完成
     * @param courseId
     */
    void modifyAloneCourseComplete(Integer courseId);

    /**
     * 教练查询自己的私教课程
     * @param param
     * @return
     */
    PageInfo coachQueryAloneCourse(CoachQueryAloneCourseParam param);

    /**
     * 商家查询自己的私教课程
     * @param param
     * @return
     */
    PageInfo queryAllAloneCourse(QueryAllAloneCourseParam param);
}
